import time

from flask import Flask
from flask import request
import requests
import json

app = Flask(__name__)


headers = {
    "user-agent": "'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'",
}
s = requests.session()
# 装饰器app.route()
# 表示一个路由配置，即用户在浏览器输入URL，使用对应的函数处理其中的业务逻辑（可以写多个）

@app.route('/')
def hello_world():
    return '33 eeewerwer'

# @app.route('/test')
def to_test():
    return 'te333st'

app.add_url_rule('/test','test',to_test)
# print(app.url_map)

@app.route('/list')
def get_list():
    url = 'https://m.weibo.cn/api/container/getIndex?type=uid&value=6367430139&containerid=1076036367430139&since_id='
    res = s.get(url, headers=headers)
    r = json.loads(res.text)
    # print(request.args)
    return r

@app.route('/sinadata')
def get_sinadata():
    url='https://hq.sinajs.cn/rn=1650463893014&list=s_sh000001,s_sz000004,s_sh000300,s_sz399415,s_sz399006'
    headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
        'Referer': 'http://finance.sina.com.cn/realstock/company/sh000001/nc.shtml'
    }
    res = s.get(url,headers=headers)
    # data = {}
    detaillist = []
    if res.status_code == 200:
        data = res.text
        datalist =data.split('\n')
        for data in datalist:
            orgindatalist = data.split('"')
            if len(orgindatalist) > 1:
                mydata = orgindatalist[1]
                detail = mydata.split(',')
                d = {
                    'title':detail[0],
                    'now':detail[1],
                    'diff':detail[2],
                    'rate':detail[3]
                }
                detaillist.append(d)
                print(detaillist)
                data =  {
                    'code':1,
                    'list':detaillist
                }
            print(data)
        time.sleep(1)
        return data
# 路由方式二
# app.add_url_rule(url,url_name,view_name)
# url:匹配的url地址
# url_name:给url的命名
# view_name:视图函数

# 路由匹配规则
# 1 匹配整个文字
# @app.route('/hello')
# 2 传递参数
# @app.route('/user/<username>')
# 3 指定参数类型
# @app.route('/post/<int:post_id>')


# url参数类型
# string 接受任何不包含斜杠的文本（默认值）
# int 接受正整数
# float 接受正浮点数
# path  类似string 但可以包含斜杠
# uuid 接受UUID字符串

# 查看URL规则列表
# app.url_map
#
# URL逆向解析（根据名称解析成URL字符串）
# 1 url_for(url_name,**kwargs)
# 2 静态文件(js/css/图片)引用
# url_for('static',filename='style.css')


# 视图函数中获取页面传值
# @app.route('/user/<page>')  用法一
def list_user(page):
    return "你好，你是第{}页".format(page)

# 用法二
app.add_url_rule('/user/<page>','user',list_user)

# URL中的值为可选时
# @app.route('/page/<page>')
# def list_user(page=None)

# 应用上下文对象
# current_app

if __name__ == '__main__':
    app.run()
    # app.run(debug=True)
